Systems ands methods for automated scheduling

ABSTRACT

Systems and methods are disclosed for providing multi-vendor scheduling of appointments by storing calendars for a plurality of vendors in an online data storage device; allowing a user to search for a specific vendor or vendor(s) that meet predetermined criteria; determining if a selected vendor has an open time slot for the user; and scheduling the appointment.

This application relates to a web based scheduling system, and moreparticularly to a computer-based scheduling system having multiplevendors accessible over a variety of communications networks.

BACKGROUND

The availability of global networks with ready access, for example,using web-based interfaces has led global connectivity, real-timecollaboration and rapid and continuous information exchange. TheInternet is gaining particular popularity in the service industries, andhas been used for applications such as scheduling services via theinternet in the airline, hotel, theatre, restaurant and vehicle rentalindustries. In theory, the provision of on-line scheduling servicesallows a reduction in costs for operators by allowing customers tocomplete request forms and make appointments themselves without theoperator requiring personnel to carry out these steps. Additionally, ittends to improve customer satisfaction by granting the customer bettercontrol over service appointing.

Traditionally, many companies can provide basic scheduling facilities inan on-line environment. However, conventional technology has so far onlybeen successfully applied to one vendor at a time. For multiple vendors,the user must manually check the appointability of the events, negotiatewith all vendors on the service appointments over the phone. As aresult, the user needs to maintain his/her own calendar with periodicmanual updates. While currently the market has many variations of onlinescheduling platform, they are not holistic and can be generallysummarized in these two key types:

-   -   1. Industry-specific online scheduling platform that use either        cloud or local servers;    -   2. Ancillary online scheduling capability that is attached to        other core functionality software. For example, expensive        software that focuses on storing patients' records and test        results may also have simple scheduling capability for a        doctor's patients.

Whilst the aforementioned scheduling platforms do serve the purpose ofcustomers making online appointments either on the scheduling website orat the business vendor's website, the customers ultimately are requiredto go to multiple websites in order to accomplish the goal of schedulingmost of their activities.

Thus, there is a disconnection between the customer and businesses. Suchdisconnection is inefficient from the user's perspective as the progressof the appointments needs to be constantly monitored and adjusted byhuman intervention. This is labor intensive and as well as being costlyis difficult to perform efficiently, speedily and with high level ofcustomer satisfaction. Furthermore, businesses can lose money when theydo not fully utilize available time slots because users are not aware ofthe availability of open time slots. Hence, a system is needed thatconnects various multiple industries' businesses with customers forscheduling purposes.

SUMMARY

In one aspect, systems and methods are disclosed for providingmulti-vendor scheduling of appointments by storing calendars for aplurality of vendors in an online data storage device; allowing a userto search for a specific vendor or vendor(s) that meet predeterminedcriteria; determining if a selected vendor has an open time slot for theuser; and scheduling the appointment.

Implementations of the above aspects may include one or more of thefollowing. The process includes sending notifications to one or morefriends of the user to vote on venue, date and time of a meeting. Theprocess also includes coordinating events with the user and the friendsand completing the appointment after venue, date and time are voted onand chosen. Users can click on a predetermined button (Book-It Nowbutton) on a vendor's web site to be automatically connected to the website. The system can send reminders to the user based on a user-selectedcontact channel, wherein the channels include one or more of: telephone,instant messaging, booking sites, individual company websites. Thesystem automatically synchronizes the appointment with a user'scalendar. The vendor's operating hours, maximum capacity for each hourand duration for each type of services can be updated for schedulingoptimization. The maximum capacity can be itemized by employee or bytable If the vendor does not respond to the appointment request within apredetermined period, the system can automatically accept theappointment. The process includes locally optimizing the calendar to fitan individual user's requirements and globally optimizing utilization ofthe system resources supporting the user seeking customized services.

Advantages of the preferred embodiments may include one or more of thefollowing. The system provides a one-stop scheduling platform forend-users to make appointments and connect with service providers ofmultiple industries who sign up with the system. Users will get thesimplicity and convenience of scheduling appointments within oneplatform instead of having to go into multiple websites or applications.Once appointments are made, users will also easily integrate theappointment details within the users' existing calendar tools (such asiCal). In addition to scheduling appointment for an individual user'sown purpose, the platform also allows users to coordinate events withtheir friends and make the appointment directly on the system (after thevenue, date and time are voted on and chosen on the system).

For the business vendors or service providers who sign-up with thesystem, they have the flexibility and choice to do the following:

-   -   1. Input all or some of the business' operating hours and        schedule availability, so that users can automatically schedule        appointment anytime, anywhere.    -   2. Opt for ability to decline or reject appointments.    -   3. Opt for the business not to be displayed on the list of        business vendors, while that business' customers can still        schedule online appointments automatically through a “book        button” that is supplied by the system for display on the        business' website.

The system provides a holistic scheduling platform that allowsbusinesses from all industries to sign-up and customers can scheduleappointments with these businesses through one single website or amobile application (operated under iOS or Android). The system providescustomized services which are locally optimized to suit an individualuser's requirements and yet which globally optimize the utilization ofthe system resources supporting such customized services for eachindividual seeking customized services.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows an exemplary scheduling architecture.

FIG. 2 shows an exemplary appointment booking workflow.

FIG. 3 shows an exemplary service provider workflow.

FIG. 4 shows an exemplary service provider approval workflow.

FIG. 5 shows an exemplary cancellation workflow.

FIG. 6 shows an exemplary capacity utilization maximization process.

DESCRIPTION

FIG. 1 shows an exemplary architecture for a scheduling platform 100.The platform 100 provides a one-stop scheduling system for end-users tomake appointments and connect with service providers of multipleindustries who sign up with the system. The scheduling platform 100serves a variety of business verticals such as health vertical 102,beauty vertical 104, fitness vertical 106, food vertical 108, andchildren activity vertical 110, among others. For these verticals, thesystem provides a web-based and mobile scheduling software forconnecting multiple industries' scheduling onto one platform. Industriesinclude:

1. Health—Doctors, Dentists, Vetenarians, Hospitals, Other Specialists

2. Beauty—Spa, Nail Salon, Hair Salon

3. Fitness—Gyms, Specialized fitness centers, Sport classes, freelancefitness/sport coaches

4. Children's activity centers—Academic, Child Development, Sport, Art,Music, Dance

5. Restaurants

6. Others—Professional services, freelance/self-employed consultants,among others.

The system minimizes the hassle of booking appointments through an arrayof channels with no consistencies or simplicity: phone, online, bookingsites, individual company websites. Back and forth email chains betweenfriends on suggestion, deciding and booking group events and activitiesare minimized. The system reduces error arising when the user forgets toput the scheduled appointment onto calendar (iPhone, Outlook, Google).The system reduces the time and effort required to find a serviceprovider with walk-in availability given an impromptu desire.Additionally, the inefficiency of manual scheduling of appointments andstaff availability is avoided.

A user can sign-up with the system easily and free of charge—onwww.chimpped.com or download through an app directly on iPhone orAndroid-operated phones. For convenience, the system allows the use ofFacebook sign-in information. Once the user is signed-in, the user cansearch for a specific company or by certain criteria (type of service,closest date of availability, etc), and schedule the appointment. Theappointment will also integrate with the user's choice of major calendartool such as iPhone's calendar, Outlook, Google Calendar. For anyalteration or cancellation of appointments booked through the system, aURL allows the user to be directed to the platform to do so. Remindersare sent to the user based on his choice of contact channel, and providean opportunity to cancel the booking instead of “no-show” at lastminute.

Business vendors who sign up for the system's scheduling services areempowered to use many functionalities that improve customer experiences,employee and customer scheduling efficiencies, and increase revenue bymaximizing capacity utilization and engaging customers.

The business vendor inputs its operating hours, maximum capacity foreach hour (depending on industry, maximum capacity may be furtheritemized by employee or by table, etc), duration for each type ofservices. It is anticipated that these inputs are only required to beupdated once in a while. The system allows the company administrator tomanually input a customer booking in the event the customer phones orwalk in person. As such, once the master schedule inputs are completed,the company is able to view its appointment book on a real-time updatedbasis. There are fewer occurrences of writing down the wrong time, nameor phone number of customers.

Business vendors also have the choice of putting a “book now” button(powered by the instant platform) on their company websites. Once acustomer presses on the “book now” button, he is able to schedule anappointment with that business vendor on an interface powered by theinstant. Even if the business vendor chooses not to have its businesslisted on the platform visible to all users, the business vendor'scustomers can still schedule appointment with this vendor by pressing onthe “book now” button.

For businesses who want more control over appointments, they can opt tohave the ability to reject or decline an appointment. After opting forsuch flexibility and if business vendor does not respond to theappointment request in time (specified by the business vendor), theappointment will be deemed as accepted.

The system provides customized services which are locally optimized tosuit an individual user's requirements and yet which globally optimizethe utilization of the system resources supporting such customizedservices for each individual seeking customized services. With thesystem, users will get the simplicity and convenience of schedulingappointments within one platform instead of having to go into multiplewebsites or applications. Once appointments are made, users will alsoeasily integrate the appointment details within the users' existingcalendar tools (such as iCal). In addition to scheduling appointment foran individual user's own purpose, the platform also allows users tocoordinate events with their friends and make the appointment directlyon the system (after the venue, date and time are voted on and chosen onthe system).

The system provides a holistic scheduling platform that allowsbusinesses from all industries to sign-up and customers 120 or 130 canschedule appointments with these businesses or vendors 140 through thesystem's website 122 as detailed below. Mobile users 130 can access thesystem though a mobile application 134 such as an Android or iPhoneapplication. The mobile app provides a better user experience thanmobile websites are capable of.

Users can also access the system through a vendor website through a“Book Now” widget 132. The “Book Now” widget is a button displayed onthe vendor's web site for a user creates an appointment using thesystem. When the user clicks the “Book Now” button on the vendor's site,an appointment can be created with a link back to the vendor's website.One embodiment uses the Open Graph protocol to specify information aboutthe vendor entity. When the vendor includes Open Graph tags on its Webpage, the page becomes equivalent to a system's page. This means when auser clicks the “Book Now” button on the vendor's page, a connection ismade between the vendor's page and the user. The vendor page will appearin the “Likes and Interests” section of the user's profile, and thevendor has the ability to publish updates to the user. The vendor pagewill show up in same places that the system's pages show up around thesite (e.g. search), and you can target ads to people who like yourcontent. There are two “Book Now” button implementations: XFBML andIframe. The XFBML (also available in HTML5-compliant markup) version ismore versatile, but requires use of the JavaScript SDK. The XFBMLdynamically re-sizes its height according to whether there are profilepictures to display, gives the vendor the ability (through theJavascript library) to listen for like events so that you know in realtime when a user clicks the “Book Now” button, and it always gives theuser the ability to add an optional comment to the book now function. Ifusers do add a comment, the story published back to the vendor is givenmore prominence.

Vendors 140 can access the system through an administrative console 142.In these verticals, for the business vendors who sign-up with theplatform 100, they have the flexibility and choice to do the following:

-   -   1. Input all or some of the business' operating hours and        schedule availability, so that users can automatically schedule        appointment anytime, anywhere.    -   2. Opt for ability to decline or reject appointments.    -   3. Opt for the business not to be displayed on the list of        business vendors, while that business' customers can still        schedule online appointments automatically through a “book        button” that is supplied by the system for display on the        business' website.

The system performs aggregation of different variables and inputs fordifferent industries in order to solve for the same thing: scheduleavailability. Whilst to the user, the platform gives them the sameconvenience of finding the schedule availability so they can book anyvendors.

Next, exemplary operations within three industries: (a) health & beauty,(b) kids activities and (c) restaurants industries, are discussed. Forhealth & beauty, the key variable inputs that solve for scheduleavailability or the vendor in this industry aggregates the vendor'sstaff's own individual schedule and service duration. The ratio of staffto customer is generally 1:1. Assume a vendor in this industry has 3staffs who perform services. For timeslot 9-10 am, Staff A has beenbooked but Staff B and Staff C have not been booked. Then there exists 2remaining available booking slots for 9 am. For restaurants, the keyvariable inputs that solve for schedule availability is defined bytable. The vendor names each table and defines it by seating capacityand maximum time limit allowed for that table per each booking. Forchildren activities, the key variable inputs that solve for scheduleavailability consists of seat capacity per course, duration of course,frequency of course (per a multitude level of units such as daily,weekly, biweekly, month and also for each of these, a subset ofoccurrence frequency exists such as occurring 2 days per week or 1 dayper week, for example).

In one embodiment, the specific variables and inputs for exemplaryindustry-flows in calculating total availability (by date or by staff orby earliest availability). The system will deduct the online bookingsmade by users and manual bookings input by vendors to constantly arriveat “remaining schedule availability” real-time.

1. Health & Beauty Variables and Inputs

-   -   Total number of staff (service providers)    -   Each staff's availability on each day and time    -   Each staff's list of services provided (i.e. each staff is        tagged with all the services she/he can provide)    -   Define and listing of each service    -   Duration of each service

2. Restaurants Variables and Inputs

-   -   Name each table and its seating capacity    -   Maximum time capacity allowed for each table's booking    -   Define each shift (breakfast, brunch, etc) duration and the        tables allotted for each shift    -   Block any tables as desired by vendors for any one or more        shifts for one or more days, recurring or not

3. Kids Activities Variables and Inputs

-   -   Name each course, seating capacity for that course and all        instructors who teach that course    -   Input duration of each course (1 month, 2 month, Continuous,        etc)    -   Input course occurrence frequency (daily, weekly, biweekly,        monthly)    -   Input course occurrence day(s) (Mon, Tues, Wed, Thurs, Fri, Sat,        Sun)    -   Input course timing for each occurrence day(s)

Web user 120 and mobile user 130 can use the system to book appointmentson the scheduling platform 100. FIG. 2 shows an exemplary appointmentbooking workflow 200. The process 200 handles three possible usagescenario: 1) through the system's web site, 2) through a “Book Now”button 132, or 3) through a mobile application.

In one usage scenario, the user 120 visits the system's web site 220.The user may browse or search the interface for a service provider 140to suit their needs 222. In a mobile usage scenario, the user isdirected to search for service providers (222) from a mobile application(250). In one usage scenario, the user 120 clicks on a “Book Now” buttonat a vendor's web site (210). The user is immediately transferred to aninterface on the system's web site where the user can search for a dateand time for a suitable appointment. Once a desired service is found,the user is presented with times and dates of available appointments224. Once the desired time and date are chosen, the user is asked to login to the system using an account 226. If the user 120 does not yet havean account, he/she will create a user account 228. If the user accountalready exists, the user will simply log in 230. In another embodiment,the user logs in to an account previous to reserving a time and date.Once logged in, the appointment is scheduled with the user 120 andvendor 140. In some instances, approval for the appointment is notrequired. If this is the case, the appointment is automatically saved tothe calendar of the user 236 for later viewing or reminder. Anotification email is also sent to the user (238). In another instance,approval is required by the vendor. In this case, the appointment isplaced on the approval queue of the vendor (240).

One example use scenario is described next. In one embodiment with aChimpped system, a web user visits chimpped.com and search for a vendoror service provider. Once the desired provider is found, the user canthen search for a time and date to reserve an appointment with thevendor using Chimpped.com. If the user does not already have a useraccount on chimpped.com, he will be asked to create one. The user thenlogs in to schedule the appointment with the vendor. If approval isrequired by the vendor, then the appointment is placed on an approvalqueue (240). If not, the date and time are saved to a user's calendar,and an email confirming the appointment is sent to the user. From thevendor's view point, the provider visits chimpped.com and creates anaccount and then logs in. Once signed in, the provider profile can becreated or reviewed. In the event of a new business profile, the vendorwill also have to upload its existing schedule data onto the platform.From this point, the vendor can also input manually booked reservationsinto the platform and update the schedule database.

FIG. 3 shows an exemplary workflow for the service provider 250. First,the service provider visits the system web site (252). The processchecks whether the service provider has a business account (254). If thevendor already owns a business account, he/she will simply sign in tothe service (256). If the vendor does not have a business account, theywill be asked to sign up for one on the system (258) and then logs in tothe service using the account created during the registration process.The system then checks whether the service provider has a businessprofile tied to the account (260). If a business profile already exists,the vendor can use the system to add manually-booked appointments to thesystem (264). The system then updates the schedule database, adding onany new appointments (266). If the system does not find a businessprofile tied to the user account, the user will be asked to create thebusiness profile (262). Details to be listed on the business profile mayinclude: business name, street address, main telephone number, services,brief descriptions, hours of operation, price, user ratings and reviews,certifications, and logo, among other items. The vendor also needs toupload any existing manually scheduled appointments and reservationsonto the system database (268).

FIG. 4 shows an exemplary service provider approval workflow 270. Attimes, when a user books a reservation, a confirmation or approval bythe service provider is required. Once the reservation is requested(270), the service provider receives a notification. By visiting thesystem (272) and logging in (274), a service provider can check forpending reservations that need approval (276). The vendor can decide toeither approve the appointment or cancel the reservation. If approved,the appointment is saved to the user's calendar (280) and a notificationemail is then sent to the user's e-mail (282). If the appointment isdeclined, the user is similarly notified of the rejection by an e-mailmessage (282).

FIG. 5 shows an exemplary cancellation workflow 290. The user candirectly visit the system's web site (292) or through a mobileapplication (294) and in either case, the user logs in (296). Fromthere, the user can cancel the appointment (298). The system in turnupdates the schedule database (300) and then updates the user's calendar(302). A confirmatory email is sent to the user (304) and a notificationis sent to the service provider (306).

FIG. 6 shows an exemplary capacity utilization maximization process. Inthis process the system takes user inputs from the web site 402, “BookNow” widget 404, and the mobile app 406, among others. The system alsomonitors the service provider calendar 410 for open time slots 412-414.Such information is stored in an available slot database in thescheduling software. In this example, the system knows the user'sinterest and the user's open time slots. The system also knows theservice provider's total capacity and open time slots. By having bothinformation, the system can optimize the calendars of both the user andservice provider. For example, the system can recommend a different datethat fits best with the user's travel path and the capacity of theservice provider. In another example, the system can automaticallyrecommend a different location of the selected service provider thatfits better due to open time slots at the different location. Otheroptimizations can be done as well.

The system takes into consideration a total capacity limit, which is thetotal number of customers that can be served by a given service over agiven time period. The total capacity may vary based on the size of thestaff currently on duty, etc. The process can use linear scheduling andnon-linear scheduling techniques. In one illustrative embodiment, thecapacity utilization is based on not only a maximum total capacity overa given time period, but also a number of appointments which can bestarted at any given time. In one embodiment, a database structure isused to represent both maximum capacity and start time capacities toallow efficiency in searching for open appointment times and schedulingrequested appointments. In another embodiment, the system utilizesvarious artificial intelligence (Al) based methodologies as well as acommercially available expert system shell.

The system may be implemented in hardware, firmware or software, or acombination of the three. Preferably the invention is implemented in acomputer program executed on a programmable computer having a processor,a data storage system, volatile and non-volatile memory and/or storageelements, at least one input device and at least one output device.

By way of example, a block diagram of a computer to support the systemis discussed next in FIG. 3. The computer preferably includes aprocessor, random access memory (RAM), a program memory (preferably awritable read-only memory (ROM) such as a flash ROM) and an input/output(I/O) controller coupled by a CPU bus. The computer may optionallyinclude a hard drive controller which is coupled to a hard disk and CPUbus. Hard disk may be used for storing application programs, such as thepresent invention, and data. Alternatively, application programs may bestored in RAM or ROM. I/O controller is coupled by means of an I/O busto an I/O interface. I/O interface receives and transmits data in analogor digital form over communication links such as a serial link, localarea network, wireless link, and parallel link. Optionally, a display, akeyboard and a pointing device (mouse) may also be connected to I/O bus.Alternatively, separate connections (separate buses) may be used for I/Ointerface, display, keyboard and pointing device. Programmableprocessing system may be preprogrammed or it may be programmed (andreprogrammed) by downloading a program from another source (e.g., afloppy disk, CD-ROM, or another computer).

Each computer program is tangibly stored in a machine-readable storagemedia or device (e.g., program memory or magnetic disk) readable by ageneral or special purpose programmable computer, for configuring andcontrolling operation of a computer when the storage media or device isread by the computer to perform the procedures described herein. Theinventive system may also be considered to be embodied in acomputer-readable storage medium, configured with a computer program,where the storage medium so configured causes a computer to operate in aspecific and predefined manner to perform the functions describedherein. The system has been described herein in considerable detail inorder to comply with the patent statutes and to provide those skilled inthe art with the information needed to apply the novel principles and toconstruct and use such specialized components as are required. However,it is to be understood that the invention can be carried out byspecifically different equipment and devices, and that variousmodifications, both as to the equipment details and operatingprocedures, can be accomplished without departing from the scope of theinvention itself.

1. A method for scheduling appointments, comprising: storing by aprocessor calendars for a plurality of vendors in a plurality ofindustries in an online data storage device; aggregating by theprocessor different capacity for different industries on one platform toprovide a single place where clients search and make appointmentswithout having to go to each vendor to make individual appointmenttherewith; searching by the processor for a specific vendor or vendor(s)that meet predetermined criteria on the platform; providing by theprocessor a “book now” button to schedule an appointment with a selectedvendor; determining by the processor if a selected vendor has an opentime slot for the user; matching by the processor the calendars of boththe user and vendor using the user's interest and the user's open timeslots and the vendor capacity and open time slots; and scheduling by theprocessor the appointment so that appointments are tracked for differentvendors in different industries on the one platform.
 2. The method ofclaim 1, comprising sending notifications to one or more friends of theuser to vote on venue, date and time of a meeting.
 3. The method ofclaim 2, comprising coordinating events with the user and the friendsand completing the appointment after venue, date and time are voted onand chosen.
 4. The method of claim 1, comprising clicking on apredetermined button on a vendor's web site to be automaticallyconnected to the web site.
 5. The method of claim 1, comprising sendingreminders to the user based on a user-selected contact channel, whereinthe channels include one or more of: telephone, instant messaging,booking sites, individual company websites.
 6. The method of claim 1,comprising synchronizing the appointment with a user's calendar.
 7. Themethod of claim 1, comprising updating a vendor's operating hours,maximum capacity for each hour and duration for each type of services.8. The method of claim 7, wherein the maximum capacity is itemized byemployee or by table.
 9. The method of claim 1, wherein if the vendordoes not respond to the appointment request within a predeterminedperiod, accepting the appointment.
 10. The method of claim 1, comprisinglocally optimizing the calendar to fit an individual user's requirementsand globally optimizing utilization of the system resources supportingthe user seeking customized services.
 11. A multi-vendor schedulingsystem, comprising: code to store by a processor calendars for aplurality of vendors in a plurality of industries in an online datastorage device; code to aggregate by the processor different capacityfor different industries on one platform to provide a single place whereclients search and make appointments without having to go to each vendorto make individual appointment therewith; code to search-by theprocessor for a specific vendor or vendor(s) that meet predeterminedcriteria on the platform; code to provide by the processor a “book now”button to schedule an appointment with a selected vendor; code todetermine by the processor if a selected vendor has an open time slotfor the user; code to match by the processor the calendars of both theuser and vendor using the user's interest and the user's open time slotsand the vendor capacity and open time slots; and code to schedule by theprocessor the appointment so that appointments are tracked for differentvendors in different industries on the one platform.
 12. The system ofclaim 11, comprising code for sending notifications to one or morefriends of the user to vote on venue, date and time of a meeting. 13.The system of claim 12, comprising code for coordinating events with theuser and the friends and completing the appointment after venue, dateand time are voted on and chosen.
 14. The system of claim 11, comprisinga predetermined button on a vendor's web site to automatically connectto the web site.
 15. The system of claim 11, comprising code for sendingreminders to the user based on a user-selected contact channel, whereinthe channels include one or more of: telephone, instant messaging,booking sites, individual company websites.
 16. The system of claim 11,comprising code for synchronizing the appointment with a user'scalendar.
 17. The system of claim 11, comprising code for updating avendor's operating hours, maximum capacity for each hour and durationfor each type of services.
 18. The system of claim 17, wherein themaximum capacity is itemized by employee or by table.
 19. The system ofclaim 11, wherein if the vendor does not respond to the appointmentrequest within a predetermined period, code for accepting theappointment.
 20. The system of claim 11, wherein the calendar is locallyoptimized to suit an individual user's requirements and yet whichglobally optimize the utilization of the system resources supportingsuch customized services for each individual seeking customizedservices.